package com.ego.dubbo.service;

import com.ego.exception.DaoException;
import com.ego.pojo.Item;
import com.ego.pojo.ItemDesc;
import com.ego.pojo.ItemParamItem;

import java.util.List;

public interface ItemDubboService {

    /**
     * 分页查询商品信息
     *
     * @param pageNum  当前页
     * @param pageSize 每页数量
     * @return
     */
    List<Item> selectItemByPage(int pageNum, int pageSize);

    /**
     * 查询商品总数
     *
     * @return
     */
    long selectItemTotal();

    /**
     * 批量更改商品状态(上架，下架，删除)
     *
     * @param ids
     * @param status
     * @return
     */
    int updateStatusByIds(Long[] ids, int status) throws DaoException;

    /**
     * 添加一条商品信息和商品描述
     *
     * @param item
     * @param itemDesc
     * @return
     * @throws DaoException
     */
    int saveItem(Item item, ItemDesc itemDesc, ItemParamItem itemParamItem) throws DaoException;

    /**
     * 根据商品id查询商品描述
     * @param itemId
     * @return
     */
    ItemDesc selectItemDescByItemId(Long itemId);

    /**
     * 修改商品信息
     * @param item
     * @param itemDesc
     * @return
     */
    int updateItem(Item item, ItemDesc itemDesc,ItemParamItem itemParamItem) throws DaoException;

    /**
     * 通过商品id查找商品
     * @param id
     * @return
     */
    Item selectItemByItemId(Long id);
}
